package com.test.project.system.louyu.domain;

import com.test.framework.aspectj.lang.annotation.Excel;
import com.test.framework.web.domain.BaseEntity;
import lombok.ToString;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;


/**
 * @author xhtstart
 * @create 2022-09-09 15:07
 */
public class TLouyu extends BaseEntity {
    /**
     * 任何类型只要实现了Serializable接口，就可以被保存到文件中，或者作为数据流通过网络发送到别的地方。
     * 也可以用管道来传输到系统的其他程序中。*
     * 把一个对象以一种方式，打包压缩，成为一个字符串，使他适合存放和传输，这就是序列化。*
     *serialVersionUID = 1L这个东西叫做，流标识符，即类的版本定义*
     * */
    private static final long serialVersionUID = 1L;

    //加上Excel注解，数据库的字段才会在Excel的里面展示出来
    /**ID*/
    private Long id;

    /**名称*/
    @Excel(name = "名称")
    private String name;

    /**负责人*/
    @Excel(name = "负责人")
    private String fuzeren;

    /**联系方式*/
    @Excel(name = "联系方式")
    private String lianxi;

    /**备注*/
    @Excel(name = "备注")
    private String beizhu;

    public TLouyu() {
    }

    public TLouyu(Long id, String name, String fuzeren, String lianxi, String beizhu) {
        this.id = id;
        this.name = name;
        this.fuzeren = fuzeren;
        this.lianxi = lianxi;
        this.beizhu = beizhu;
    }

    public TLouyu(String name, String fuzeren, String lianxi, String beizhu) {

        this.name = name;
        this.fuzeren = fuzeren;
        this.lianxi = lianxi;
        this.beizhu = beizhu;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getFuzeren() {
        return fuzeren;
    }

    public void setFuzeren(String fuzeren) {
        this.fuzeren = fuzeren;
    }

    public String getLianxi() {
        return lianxi;
    }

    public void setLianxi(String lianxi) {
        this.lianxi = lianxi;
    }

    public String getBeizhu() {
        return beizhu;
    }

    public void setBeizhu(String beizhu) {
        this.beizhu = beizhu;
    }

    @Override
    public String toString() {
        /**为什么要使用ToStringBuilder？
         系统中一般都要打印日志的，因为所有实体的toString()方法 都用的是简单的"+"，
         因为每"＋" 一个就会 new 一个 String 对象，
         这样如果系统内存小的话会暴内存（前提系统实体比较多）。
         使用ToStringBuilder就可以避免暴内存这种问题的。*/
        //ToStringBuilder类主要用于类的格式化输出。
        // ToStringBuilder中append方法可以向该类添加基本类型、数组、和对象，
        // 只有添加的方法才会被toString输出。
        // 传入两个参数，一个是当前对象，一个是样式,属性换行显示

        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id",getId())
                .append("name",getName())
                .append("fuzeren",getFuzeren())
                .append("lianxi",getLianxi())
                .append("beizhu",getBeizhu())
                .toString();



    }
}
